In a video delivery service, the quality of the recommendations provided to a user is important. For example, the video delivery service may want to recommend a collection of videos to a user, such as different episodes of a show or movies to the user. Generating recommendations that are relevant to the user may require a large amount of computing resources and time. When operating in a real-time online environment, such as when a user is using an application offered by the video delivery service to select videos to watch, recommendations need to be calculated in a very short amount of time. That is, while a user is browsing a site for the video delivery service, the recommendations may need to be generated as the user logs on to the service, selects an item on a page, or browses to another page. The recommendations need to be computed in the time required to display the page, but also be relevant to the user.